// const bcrypt = require('bcrypt');

/**
 * 哈希密码
 * @param {string} password - 明文密码
 * @returns {Promise<string>} - 哈希后的密码
 * 注：调试阶段暂时返回原始密码，不进行加密
 */
const hashPassword = async (password) => {
  // 调试阶段注释掉加密代码
  // const salt = await bcrypt.genSalt(10);
  // return bcrypt.hash(password, salt);
  return password; // 直接返回原始密码
};

/**
 * 验证密码
 * @param {string} password - 明文密码
 * @param {string} hashedPassword - 哈希后的密码
 * @returns {Promise<boolean>} - 验证结果
 * 注：调试阶段直接比较原始密码
 */
const verifyPassword = async (password, hashedPassword) => {
  // 调试阶段注释掉加密比较
  // return bcrypt.compare(password, hashedPassword);
  return password === hashedPassword; // 直接比较原始密码
};

/**
 * 生成随机密码
 * @param {number} length - 密码长度
 * @returns {string} - 随机生成的密码
 */
const generateRandomPassword = (length = 8) => {
  const charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()_+-=[]{}|;:,.<>?';
  let password = '';
  
  for (let i = 0; i < length; i++) {
    const randomIndex = Math.floor(Math.random() * charset.length);
    password += charset[randomIndex];
  }
  
  return password;
};

module.exports = {
  hashPassword,
  verifyPassword,
  generateRandomPassword
};